{{tag>Xenial système windows tutoriel}}

====== Comment résoudre les problèmes du type "Invalid Encoding" (codage non valide) ? ======

Le problème d'//invalid encoding// ou **(codage non valide)** dans Ubuntu est dû à l'utilisation par défaut de [[wpfr>UTF-8]] pour le codage des partitions.
Il peut arriver que dans certains cas le bon codage ne soit pas utilisé et des caractères bizarres s'affichent alors, par exemple : “�”. Cette page propose diverses solutions pour résoudre ce problème en fonction du cas de figure.

===== Partition windows =====
Comme expliqué sur la page d'installation des [[:tutoriel:comment_acceder_a_ses_partitions_windows|partitions windows]], il faut ajouter '',iocharset=utf8,codepage=850'' aux paramètres des partitions FAT32 qui peuveunt rencontrer ce problèmes.
En ntfs l'option est très souvent définie par défaut.


===== Partition Linux =====

Si vous avez une ancienne partition Linux qui n'utilisait pas UTF-8, utilisez l'outil **''convmv''** pour transformer les accents //invalides// en UTF-8. Il vous faudra peut-être également corriger des noms de fichiers écrits par Windows sur une partitions ext2 ou ext3.

Commencez par [[:tutoriel:comment_installer_un_paquet|installer les paquets]] **[[apt>convmv,dos2unix|convmv, dos2unix]]**.

Puis utilisez l'outil **convmv** avec les options désirées. Dans un [[:terminal]] saisissez : <code>convmv -f iso-8859-15 -t utf8 -r --nosmart <fichier_a_convertir></code> puis avec l'option supplémentaire <code>--notest</code> si vous voulez faire la conversion.

Par exemples :
  * Fichier transféré d'une partition Windows sur une partition UTF-8 ext : <code>convmv -f cp1252 -t utf-8 -r --notest <fichier_a_convertir></code>
  * Fichier extrait d'une archive: <code>convmv -f iso-8859-1 -t utf-8 -r --notest <fichier_a_convertir></code>

Pour faire une conversion récursive sur plusieurs fichiers :
<code>convmv -r -f windows-1252 -t UTF-8 .</code>
Adapter le charset au vôtre (ici windows-1252, mais ça peut être ISO-8859-1 ou encore cp-850).

Éventuellement [[http://forum.ubuntu-fr.org/viewtopic.php?id=19806|cette discussion]] du forum ubuntu-FR parle des problèmes de nom lors de téléchargement de fichiers.

===== Lecteur de cdroms =====

Si vos fichiers affichés sur des cdroms apparaissent avec un problème de type //invalid encoding//, alors il faudra modifier les paramètres du fichier [[:mount_fstab#le_fichier_fstab|/etc/fstab]] et ajouter //UTF8// en option de lecture des lecteurs, ce qui peut donner par exemple:

<file>/dev/hdc        /media/cdrom0   udf,iso9660 unhide,ro,user,noauto,utf8     0       0
/dev/hdd        /media/cdrom1   udf,iso9660 unhide,ro,user,noauto,utf8     0       0</file>

Normalement, après redémarrage de l'ordinateur, il ne devrait plus y avoir de problèmes de type //invalid_encoding// avec les cdroms.

===== Montage d'images ISO =====

Pour ceux qui montent des images ISO avec la commande mount, voici la commande qui pourra vous aider :
<code bash>sudo mount -o loop,iocharset=utf8 -t iso9660 imagesource.iso /destination</code>


===== Résultat d'un travail avec Scalpel =====
Le logiciel de récupération de fichiers **[[apt>Scalpel]]** peut parfois donner un résultat sous la forme de "fichiers" dont le titre ressemble à peu près à ça : <code>?-0-0 (codage non valide)</code>
Il s'agit en réalité de dossiers qui ne sont utilisables en tant que tel que par le [[:sudo|super-utilisateur]]. Il vous faut donc modifier les [[:droits]] sur vos fichiers.

===== Voir aussi =====
[[https://wiki.ubuntu.com/UTFEightMigrationTool|Outil de migration en UTF8]]